public class Project04 {

    // 静态方法：打印n行空心倒等腰三角形，确保对称轴对齐
    static void printStar(int n) {
        // 计算所有可能三角形的最大宽度（以7行为基准）
        int maxWidth = 2 * 7 - 1; // 7行三角形的最大宽度为13

        for (int i = 0; i < n; i++) {
            // 计算当前三角形的宽度
            int currentTriangleWidth = 2 * n - 1;
            // 计算居中对齐所需的偏移量
            int offset = (maxWidth - currentTriangleWidth) / 2;

            // 打印偏移空格，使对称轴对齐
            for (int j = 0; j < offset; j++) {
                System.out.print(" ");
            }

            // 打印三角形内部的前导空格
            for (int j = 0; j < i; j++) {
                System.out.print(" ");
            }

            if (i == 0) {
                // 第一行：打印完整的一行星号
                for (int j = 0; j < 2 * n - 1; j++) {
                    System.out.print("*");
                }
            } else if (i == n - 1) {
                // 最后一行：打印1个星号
                System.out.print("*");
            } else {
                // 中间行：打印两端的星号和中间的空格
                System.out.print("*");
                int spaces = 2 * (n - i - 1) - 1;
                for (int j = 0; j < spaces; j++) {
                    System.out.print(" ");
                }
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
    }

    public static void main(String[] args) {
        // 打印3行空心倒等腰三角形
        printStar(3);

        // 打印5行空心倒等腰三角形
        printStar(5);

        // 打印7行空心倒等腰三角形
        printStar(7);
    }
}